##############################print
print("人生苦短 ，我用python")
print('卷王在此')

fp=open('test.txt','a+')                         #a+是模式，如果文件存在将在文件末尾追加，如果文件不存在就创建

print('hell world',file=fp)

fp.close()

print('hello','python')                          # 逗号隔开可以在同行继续输出，两个字符之间间隔一个空格
print(ord('乘'))                                 #用ord函数输出一下 “乘” 字的unicode编码

print(chr(20056))                                #unicode汉字编码 20056 就是“乘”的unicode编码

print(chr(0b110111001011000))                    #char()函数中参数为二进制时 二进制01数码前加 0b 表示后面的数是二进制编码

print(chr(0x4e50))                               #chr()函数支持十进制和十六进制
print(0b1001001,0o764,0xab45)                    #默认是十进制，输出其他进制的时候，二进制前加 0b ，八进制前 加 0o 十六进制前加 0x 


###############################变量
name='祝涛'

print('我爱 ',name)

print(id(name),type(name))                        #name变量，在python中变量由三部分组成，id()函数用来获取变量的地址  type()函数用来获取变量的类型

a=6

print(a,id(a),type(a))                            #在python中，变量名name实际上相当于c语言中的指针，name指向的空间中有id type 和 值 

###############################浮点数运算之decimal模块


#decimal 模块

#在python中小数相加可能会计算出结果不对,在python中如果需要处理这个问题的话就需要用到decimal模块了
#但这个地方有个坑，那就是Decimal(),括号里面必须是字符串，假如我们需要通过Decimal计算的话就需要将数值转换成字符串或者直接加上引号
#还可以通过decimal里面的getcontext().prec 设定有效数字，quantize 设置小数位数


from decimal import Decimal                      #引入decimal模块

from decimal import getcontext                   #引入getcontext

getcontext().prec = 4                            #设置有效数字是 4 位

res=Decimal("10")/Decimal("3")

print(res)


x=Decimal(1.3456789).quantize(Decimal("0.000"))  #设置小数位数为三位小数
print(x)

################################变量


name ="张赞"
grade="一年级"
stnu=2020012249
print(name+grade)         #加号表示两个字符串连接，而且只能连接两种类型相同的字符串

#    print(name+stnu), 因为 stnu与name不是同一个类型所以会出错，这时候就用到了类型转换

print(name+str(stnu))     # 用str()函数进行转换  类似的还有int() float() 函数进行相应的转换

year=2021
m=5
d=27
print("日期%d年%d月%d日" %(year,m,d))   #在python中占位符基本与c语言相同，中间以%相隔，当有多个数据时加括号

###############################注释



#  这种以 # 开头的是单行注释

#  多行注释是三引号，如下

'''这种三个引号之间的注释是可以


换行的，这就是多行注释'''
#  还有一种特殊注释 ： 中文编码声明注释

'''这种注释在文件开头声明，用于指定源码文件的编码格式
例如：  
  #coding:gbk
  一般没有声明的话，默认的是UTF-8 编码方式
  #coding:UTF-8

'''
##############################input()函数

#作用：接收用户输入

#返回值类型：str

#值的存储： 使用=对输入的值进行存储


#例：

egofinput1= input('请随便输入一个int数字')

print('这个数是',egofinput1)

print('这个数加一为',int(egofinput1)+1) #因为用input读入的是str类型，所以要进行加法必须类型转换

egofinput2= input('请再次输入一个int数字')


print('这两个数字的和是', int(egofinput1)+int(egofinput2))

print('str连接',egofinput1+egofinput2)   #因为input函数输入的值类型是str类型所以直接用+运算符实现的是两个str类型的连接即字符串连接


